(a) Field of the Invention
The present invention relates to a microprocessor and a method of testing the same.
(b) Description of the Related Art
The need for interconnect testing at the printed circuit board and system levels is an issue of very high priority in industry. With increasing integration of integrated circuit devices (hereinafter abbreviated ICs) and higher packing density of printed circuit boards in recent years, the usefulness of currently practiced circuit test methods using test probes (bed of nails) on the board level has been diminished significantly.
Furthermore, ICs have been increasing in functional capabilities, and development of test programs for such ICs has been becoming extremely difficult and virtually impossible even in an environment where test probes could be used. Among other difficulties, test programs for microprocessors have not been easy to develop because their control circuitry is very complex.
A prior art microprocessor test method using test probes will be described with reference to FIG. 5.
FIG. 5 is a diagram showing the microprocessor test method according to the prior art. In FIG. 5, reference numeral 71 is a microprocessor, 72 and 73 are input pins on the microprocessor, 74 and 75 are output pins on the microprocessor, and 76, 77, 78, and 79 are bidirectional pins on the microprocessor. Further, reference numeral 80 is a printed circuit board, 81 and 82 are test probes used to apply signals to the input pins on the microprocessor, 83 and 84 are test probes used to observe signals at the output pins on the microprocessor, and 85, 86, 87, and 88 are test probes used to apply signals to or observe output signals at the bidirectional pins on the microprocessor. These test probes are used to send signals from test equipment (not shown) to the device under test or to send signals from the device under test to the test equipment. For simplicity of explanation, devices on the printed circuit board 80, other than the microprocessor, and wiring interconnects not relevant to the explanation are omitted.
The prior art test method necessitates the development of a test program such that every signal pin is driven to a high voltage (hereinafter designated "1") and to a low voltage (hereinafter designated "0") at least once, and every input signal causes a change in the output without exception, to enable the detection of faulty soldering. In FIG. 5, when the bidirectional pins 76, 77, 78, and 79 are in input mode, the output pins 74 and 75 must be caused to change to "1" and to "0" at least once for input signals with which the input pins 72 and 73 and the bidirectional pins 76, 77, 78, and 79 each change to "1" and to "0" at least once. Conversely, when the bidirectional pins 76, 77, 78, and 79 are in output mode, the output pins 74 and 75 and the bidirectional pins 76, 77, 78, and 79 must be caused to change to "1" and to "0" at least once for input signals with which the input pins 72 and 73 each change to "1" and to "0" at least once. Testing cannot be done on portions where these requirements are not satisfied. For example, for an input pin that takes the state "1" when in an open state (internally pulled state), an open pin fault cannot be detected on that pin with a test program in which the pin only takes the state "1". Under such circumstances, to develop a test program for a conventional 16-bit microprocessor, for example, it takes a full-time test program developer half a month to one month, which is not practical in view of a usual product development schedule.
Against this backdrop, the IEEE adopted boundary - scan technology as a standard in 1990 (IEEE Std1149.1-1990). The intent of boundary scan is to realize easy and complete testing of digital devices on a circuit board by embedding test circuitry into integrated circuit devices. With boundary scan, testing is done by transferring test data between test circuits via wiring interconnects, which offers the advantage of significant savings in the number of test probes. Further, since boundary scan is a standard defining test circuitry, test programs can be automatically generated by software independently of the size and functions of integrated circuit devices themselves. This enables test programs to be developed in a short time. In fact, boundary scan compatible microprocessors are already on the market. The 32-bit microprocessor 80486 family of Intel and the 32-bit microprocessor 68040 of Motorola are examples.
However, in today's electronic appliances, not all digital devices are boundary scan compatible. Boundary scan works most effectively when there are a plurality of boundary scan ICs mounted on a circuit board and when these ICs are interconnected on the board, but in reality its effectiveness is often not fully utilized because of a limited number of boundary scan devices mounted on a circuit board. One reason is that many general-purpose ICs today are still not boundary scan compatible. Also, there are not many general-purpose microprocessors that are boundary scan compatible. For example, if integrated circuit devices peripheral to a microprocessor are ones newly developed to be compatible with boundary scan, the usual boundary scan interconnect testing cannot be conducted on the interconnects between the boundary scan devices and the microprocessor if the microprocessor is a general-purpose microprocessor not compatible with boundary scan.
In consumer electronic appliances, boundary scan noncompatible general-purpose microprocessors are still widely used for reasons of cost, because newly developing a boundary scan compatible microprocessor often does not justify the cost. In the case of signal processing ICs, for example, since the development of this type of IC is indispensable for a certain type of product, newly developing boundary scan compatible devices does not involve a large cost demerit, or rather, the demerit is small. In the case of microprocessors, on the other hand, many practical applications can use general-purpose microprocessors; therefore, newly developing a boundary scan compatible microprocessor may not do any good but for test purposes.
One possible test method to address this problem would be to operate the microprocessor by using the boundary scan registers of the boundary scan peripheral devices connected to the microprocessor, and to latch the results back into the boundary scan registers of the peripheral devices to check the results. This, however, would need a test program for operating the microprocessor, and since it takes a considerable development time, as earlier stated, this method is not practical.
For these reasons, it has been extremely difficult to test wiring interconnects on boundary scan noncompatible microprocessors mounted on printed circuit boards.